When compare two different solutions, depends on metrics and who care about them.
Threads are useful because
Threads hide latency of I/O operations (single CPU)
Depends on metrics
Common metrics
Performance metrics: a measurement standard
Web server: concurrent processing of client requests
Pros:
Handler
In MP an dMT: one request per execution context (process/thread)
Event-driven: many requests interleaved in an execution context. A single thread switches among processing of different requests.
On 1 CPU "thread hide latency"
A single blocking request/handler call can block the whole process.
Helpers:
Pros.
Inputs/workloads
Metrics
Synthetic load:
Obervations
Example: web server experiemnt
Possible goals:
"Rule of thumb" for Picking Metrics: